1. Field of the Invention
The present invention relates to an image generating method, an image generating apparatus, a recording medium and a random generator used in the image generating operation which are suitably applicable to such a case that a three-dimensional object is generated and displayed on a real-time basis in a limited hardware resource such as a video game machine, a personal computer or the like.
2. Description of the Related Art
In a domestic TV game machine, a personal computer, a graphic computer or the like, an image generating apparatus for generating image data to be output to and displayed on a TV (television) image receiver, a monitor image receiver or the like is designed in combination with a general-purpose memory, a CPU and other operation LSIs which are mutually connected to the image generating apparatus through a bus. A drawing device which is specially used for only image drawing purpose is provided between the CPU and a frame buffer to increase the processing speed of image data for image drawing.
That is, according to the above-described image generating apparatus, when an image is generated, the CPU does directly access the frame buffer serving as a display memory which corresponds to the display frame, but performs geometry processing such as coordinate transformation, clipping, light-source calculation, etc. to define a three-dimensional model as a combination of basic unit figures (polygon) such as triangle, rectangle, etc. and generate a drawing command for drawing a three-dimensional image. The CPU transmits the drawing command through an external bus to the drawing device.
The drawing command contains information on the shape, position, orientation, color, pattern, etc. of a polygon to be drawn. The shape, the position and the orientation are determined by the coordinates of the apexes of the polygon.
In the image generating device as described above, when a three-dimensional object (a subject to be displayed is referred to as xe2x80x9cobjectxe2x80x9d) is displayed, the object is divided into plural polygons, and the CPU generates a drawing command corresponding to each polygon and then transmits the drawing command thus generated to the drawing device through the bus. The drawing device executes the drawing command concerned and writes drawing data into the frame buffer to display the target three-dimensional object.
In the above conventional method, however, in order to finely represent various objects, it is necessary to represent each object with many small polygons in accordance with the object. Therefore, the drawing data must contain a large amount of polygon information, resulting increase of the data amount.
In order to prevent the increase of the data amount, it may be considered that the polygon information to be transmitted as drawing information is limited to data for drawing a reference object which represents a rough shape of an object, and the polygon information is processed in the drawing device to represent the object more finely.
For example, when the unevenness of the surface of a natural stone is finely represented, if the rough surface shape of the stone to be drawn is assumed to be rectangular although it has an uneven surface precisely, polygon information comprising the coordinates of the four apexes A, B, C and D of the rectangle as shown in FIG. 1 is transmitted as drawing information.
In the drawing device, the rectangle A, B, C, D is segmented in the direction U corresponding to the side AB and in the direction V corresponding to the side AC so that the rectangle is divided in a lattice form into many minute rectangles. A direction which is vertical to the plane of the rectangle ABCD is assumed, and the coordinate of each lattice point which corresponds to each apex of each minute rectangle is set while randomly displaced in the vertical direction as shown in FIG. 1. The apexes of the minute rectangles thus formed are successively linked to one another so that a fine unevenness is represented in the rectangle ABCD as indicated by broken lines of FIG. 1, whereby the surface of the natural store can be represented as if it is naturally viewed.
As described above, various types of representation such as minute unevenness, etc. can be performed even when the data amount of the polygon information to be transmitted is small.
A method using random numbers may be considered as a method of setting the coordinate of each lattice point as described above in the drawing device. However, it is general that the random number is arbitrarily generated and thus it has no reproducibility, and thus the minute shape, color, etc. of an object are varied every time the drawing operation is performed in the drawing device. Therefore, in such a device as a real-time computer graphics device in which many images are required to be formed for the same object, this method cannot be directly applied to this type of device.
The present invention has been implemented in view of the foregoing, and has an object to provide an image generating method, an image generating apparatus, a recording medium and a random number generator which can perform a more minute drawing operation with random numbers even when the data amount is small, and represent various shapes with high reproducibility.
In order to attain the above object, according to a first aspect to the present invention, an image generating apparatus for generating drawing data on the basis of a polygon drawing command and outputting the drawing data as image data, comprises means for receiving the polygon drawing command, the polygon drawing command including polygon information for drawing a reference object representing a rough shape of an object to be drawn, and an initial value given to generate quasi minute drawing information of the object, quasi random number generating means for generating a reproducible random number value on the basis of the initial value, quasi minute drawing information generating means for dividing into plural fundamental polygons an object area or a partial area of the object which is represented by the polygon information for drawing the reference object in order to generate the quasi minute drawing information, and drawing means for generating drawing data to draw the object on the basis of the plural fundamental polygons.
According to a second aspect of the presents invention, an image generating method for generating data from a polygon drawing command and outputting the drawing data thus generated as image data, comprises a step of receiving the polygon drawing command, the polygon drawing command containing polygon information to draw a reference object representing a rough shape of an object to be drawn, and an initial value given to generate the quasi minute drawing information thereof, a step of generating a reproducible random number value from the initial value, a step of dividing into plural fundamental polygons an object area or a partial area of the object which is represented by the polygon information to draw the reference object, and calculating the coordinate of each apex of the plural fundamental polygons on the basis of the random number value to generate the quasi minute drawing information, and a step of generating drawing data to draw the object on the basis of the plural fundamental polygons.
According to the present invention, the drawing information to be transmitted contains not only polygon data used to draw a reference object representing a rough shape of an object to be drawn, but also an initial value to be supplied to the quasi random number generating means which is initialized in response to input of the initial value and generates a reproducible random number. Accordingly, various object shapes can be represented on the basis of a small amount of data.